<?php

namespace app\admin\command;

use think\console\Command;
use think\console\Input;
use think\console\Output;
use think\Db;

/**
 * 菜品工艺分类标签自动处理命令
 * 用于定时任务自动为菜品设置工艺分类标签
 */
class FoodTechProcessor extends Command
{
    protected function configure()
    {
        $this
            ->setName('food:techprocessor')
            ->setDescription('自动为菜品设置工艺分类标签');
    }

    protected function execute(Input $input, Output $output)
    {
        $output->writeln("开始执行菜品工艺分类标签自动处理任务...");
        
        try {
            // 调用API控制器中的方法处理菜品工艺分类
            $apiController = new \app\api\controller\FoodIngredient();
            $result = $apiController->setFoodtech();
            
            // 将Json对象转换为数组
            $resultData = json_decode($result->getContent(), true);
            
            if (isset($resultData['code']) && $resultData['code'] == 1) {
                $output->writeln("处理成功: " . $resultData['msg']);
            } else {
                $output->writeln("处理失败: " . (isset($resultData['msg']) ? $resultData['msg'] : '未知错误'));
            }
        } catch (\Exception $e) {
            $output->writeln("处理过程中发生错误: " . $e->getMessage());
        }
        
        $output->writeln("菜品工艺分类标签自动处理任务执行完成");
    }
}